-- *****************************************************************
-- REDSTONE-OSPF-MIB
--
-- Redstone Communications Inc. Enterprise MIB
-- Extensions for OSPF Protocol Management
--
-- Copyright 1998 Redstone Communications, Incorporated.
-- All Rights Reserved.
-- *****************************************************************

REDSTONE-OSPF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Unsigned32,
    Counter32,
    IpAddress
        FROM SNMPv2-SMI

    TruthValue,
    RowStatus
        FROM SNMPv2-TC

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF

    ospfAreaEntry,
    ospfIfEntry,
    ospfIfIpAddress,
    ospfAddressLessIf,
    ospfVirtIfEntry,
    ospfNbrEntry
        FROM OSPF-MIB

    rsMgmt
        FROM REDSTONE-SMI;


rsOspfMIB  MODULE-IDENTITY
    LAST-UPDATED "0005230000Z"
    ORGANIZATION "Redstone Communications, Inc."
    CONTACT-INFO
        "
        Redstone Communications, Inc.
        5 Carlisle Road
        Westford MA 01886
        USA

        Tel:    +1-978-692-1999
        Email:  mib@redstonecom.com
        "
    DESCRIPTION
        "The OSPF Protocol MIB for the 
        Redstone Communications Inc. enterprise."
    REVISION      "0005230000Z"
    DESCRIPTION
        "Added rsOspfOperState."
    REVISION      "0005120000Z"
    DESCRIPTION
        "
         Key revisions include:
         o Corrected description for rsOspfProcessId.
         o Added rsOspfNetworkRangeTable.
        "
    REVISION      "0003100000Z"
    DESCRIPTION
        "Fixed indexing under rsOspfMd5IntfTable."
    REVISION      "9909280000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { rsMgmt 14 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Textual conventions
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No textual conventions are defined in this MIB.



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsOspfObjects       OBJECT IDENTIFIER ::= { rsOspfMIB 1 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OSPF General Group attributes (scalars)
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsOspfGeneralGroup  OBJECT IDENTIFIER ::= { rsOspfObjects 1 }

rsOspfProcessId OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "An identifier having special semantics when set.

        When this object's value is zero, OSPF is disabled
        and cannot be configured. Setting this object to a 
        nonzero value enables OSPF operation and permits
        further OSPF configuration to be performed.

        Once set to a nonzero value, this object cannot be
        modified.

        (This MIB object mimics the behavior of the OSPF 'process ID' 
        parameter used through the command-line interface.)"
    ::= { rsOspfGeneralGroup 1 }

rsOspfMaxPathSplits OBJECT-TYPE
    SYNTAX      Integer32 (1..16)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum number of equal-cost routes that will be maintained
        by the OSPF protocol.

        A change in this value will be taken into account at the
        next shortest-path-first recalculation."
    ::= { rsOspfGeneralGroup 2 }

rsOspfSpfHoldInterval OBJECT-TYPE
    SYNTAX      Integer32 (1..5)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The minimum amount of time that must elapse between 
        shortest-path-first recalculations.

        Reducing this value can cause an immediate SPF 
        recalulation if the new value is less than the
        current value of rsOspfSpfHoldTimeRemaining and
        other SPF-inducing protocol events have occurred."
    ::= { rsOspfGeneralGroup 3 }

rsOspfNumActiveAreas OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The number of active areas."
    ::= { rsOspfGeneralGroup 4 }

rsOspfSpfTime OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The SPF schedule delay."
    ::= { rsOspfGeneralGroup 5 }

rsOspfRefBw OBJECT-TYPE
    SYNTAX       Unsigned32 (1..4294967295)
    UNITS        "bits_per_second"
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "The reference bandwith, in bits per second. This
        object is used when OSPF automatic interface cost
        calculation is used."
    DEFVAL  { 100 }
    ::= { rsOspfGeneralGroup 6 }

rsOspfAutoVlink OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Set this object to true(1) in order to have virtual
        links automatically configured."
    ::= { rsOspfGeneralGroup 7 }

rsOspfIntraDistance OBJECT-TYPE
    SYNTAX       Integer32 (1..255)
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Default distance for intra-area routes."
    ::= { rsOspfGeneralGroup 8 }

rsOspfInterDistance OBJECT-TYPE
    SYNTAX       Integer32 (1..255)
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Default distance for inter-area routes."
    ::= { rsOspfGeneralGroup 9 }

rsOspfExtDistance OBJECT-TYPE
    SYNTAX       Integer32 (1..255)
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Default distance for external type 5 and type 7 routes."
    ::= { rsOspfGeneralGroup 10 }

rsOspfHelloPktsRcv OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of hello packets received."
    ::= { rsOspfGeneralGroup 11 }

rsOspfDDPktsRcv OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of database description packets received."
    ::= { rsOspfGeneralGroup 12 }

rsOspfLsrPktsRcv OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of link state request packets received."
    ::= { rsOspfGeneralGroup 13 }

rsOspfLsuPktsRcv OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of link state update packets received."
    ::= { rsOspfGeneralGroup 14 }

rsOspfLsAckPktsRcv OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of link state ack packets received."
    ::= { rsOspfGeneralGroup 15 }

rsOspfTotalRcv OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of ospf packets received."
    ::= { rsOspfGeneralGroup 16 }

rsOspfLsaDiscardCnt OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of lsa packets discarded."
    ::= { rsOspfGeneralGroup 17 }

rsOspfHelloPktsSent OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of hello packets sent."
    ::= { rsOspfGeneralGroup 18 }

rsOspfDDPktsSent OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of database description packets sent."
    ::= { rsOspfGeneralGroup 19 }

rsOspfLsrPktsSent OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of link state request packets sent."
    ::= { rsOspfGeneralGroup 20 }

rsOspfLsuPktsSent OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of link state update packets sent."
    ::= { rsOspfGeneralGroup 21 }

rsOspfLsAckPktsSent OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of link state ack packets sent."
    ::= { rsOspfGeneralGroup 22 }

rsOspfErrPktsSent OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of packets dropped."
    ::= { rsOspfGeneralGroup 23 }

rsOspfTotalSent OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of ospf packets sent."
    ::= { rsOspfGeneralGroup 24 }

rsOspfCsumErrPkts OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of packets received with checksum error."
    ::= { rsOspfGeneralGroup 25 }

rsOspfAllocFailNbr OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of neighbor allocation failures."
    ::= { rsOspfGeneralGroup 26 }

rsOspfAllocFailLsa OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of lsa allocation failures."
    ::= { rsOspfGeneralGroup 27 }

rsOspfAllocFailLsd OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of lsa hdr allocation failures."
    ::= { rsOspfGeneralGroup 28 }

rsOspfAllocFailDbRequest OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of database request allocation failures."
    ::= { rsOspfGeneralGroup 29 }

rsOspfAllocFailRtx OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of rtx allocation failures."
    ::= { rsOspfGeneralGroup 30 }

rsOspfAllocFailAck OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of ls ack allocation failures."
    ::= { rsOspfGeneralGroup 31 }

rsOspfAllocFailDbPkt OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of DD packet allocation failures."
    ::= { rsOspfGeneralGroup 32 }

rsOspfAllocFailCirc OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of ospf interface allocation failures."
    ::= { rsOspfGeneralGroup 33 }

rsOspfAllocFailPkt OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Number of ospf general packet allocation failures."
    ::= { rsOspfGeneralGroup 34 }

rsOspfOperState OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "A flag to note whether this router is operational."
    ::= { rsOspfGeneralGroup 35 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OSPF Area attributes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--
--  OSPF Area Table
--

rsOspfAreaTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsOspfAreaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Redstone OSPF Area Table describes the
        OSPF-specific characteristics of areas."
    ::= { rsOspfObjects 2 }

rsOspfAreaEntry OBJECT-TYPE
    SYNTAX      RsOspfAreaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The OSPF Area Entry describes OSPF-specific
        characteristics of one area."
    AUGMENTS { ospfAreaEntry }
    ::= { rsOspfAreaTable 1 }

RsOspfAreaEntry ::= SEQUENCE {
    rsOspfAreaType
        INTEGER
    }

rsOspfAreaType OBJECT-TYPE
    SYNTAX      INTEGER { transitArea(1), stubArea(2), nssaArea(3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of this area."
    ::= { rsOspfAreaEntry 1 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OSPF Interface attributes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--
--  OSPF Interface Table
--

rsOspfIfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsOspfIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Redstone OSPF Interface Table describes the
        OSPF-specific characteristics of interfaces."
    ::= { rsOspfObjects 7 }


rsOspfIfEntry OBJECT-TYPE
    SYNTAX      RsOspfIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The OSPF Interface Entry describes OSPF-specific
        characteristics of one interface."
    AUGMENTS { ospfIfEntry }
    ::= { rsOspfIfTable 1 }

RsOspfIfEntry ::= SEQUENCE {
    rsOspfIfCost
        Integer32,
    rsOspfIfMask
        IpAddress,
    rsOspfIfPassiveFlag
        INTEGER,
    rsOspfIfNbrCount
        Counter32,
    rsOspfIfAdjNbrCount
        Counter32,
    rsOspfIfMd5AuthKey
        OCTET STRING,
    rsOspfIfMd5AuthKeyId
        Integer32
    }

rsOspfIfCost OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The cost value for this interface."
    DEFVAL  { 10 }
    ::= { rsOspfIfEntry 1 }

rsOspfIfMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The mask used to derive the network range of this interface."
    ::= { rsOspfIfEntry 2 }

rsOspfIfPassiveFlag OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Flag to indicate whether routing updates should be suppressed
        on this interface. To actively perform routing updates, set this
        object to disabled(0)."
    ::= { rsOspfIfEntry 3 }

rsOspfIfNbrCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of ospf neighbors from this interface."
    ::= { rsOspfIfEntry 4 }

rsOspfIfAdjNbrCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of ospf adjacent neighbors from this interface."
    ::= { rsOspfIfEntry 5 }

rsOspfIfMd5AuthKey OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The md5 authentication key. When setting this object, the
        rsOspfIfMd5AuthKeyId must be specified on the same pdu.
        For simple text authentication type, use ospfIfAuthKey.
        Setting this object will have the side effect of adding or
        updating the correspondent entry in rsOspfMd5IntfKeyTable.
        If key given has less than 16 octets, such value will be 
        appended with zeros to complete 16 octets. The zeros will
        appended to the right of the given key. Reading this object
        always results in an OCTET STRING of length zero."
    ::= { rsOspfIfEntry 6 }

rsOspfIfMd5AuthKeyId OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The md5 authentication key id. When setting this object,
        rsOspfIfMd5AuthKey must be specified on the same psu."
    ::= { rsOspfIfEntry 7 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OSPF Virtual Interface attributes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--
--  OSPF Virtual Interface Table
--

rsOspfVirtIfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsOspfVirtIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Redstone OSPF Virtual Interface Table describes the
        OSPF-specific characteristics of virtual interfaces."
    ::= { rsOspfObjects 9 }

rsOspfVirtIfEntry OBJECT-TYPE
    SYNTAX      RsOspfVirtIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The OSPF Virtual Interface Entry describes OSPF-specific
        characteristics of one virtual interface."
    AUGMENTS { ospfVirtIfEntry }
    ::= { rsOspfVirtIfTable 1 }

RsOspfVirtIfEntry ::= SEQUENCE {
    rsOspfVirtIfMd5AuthKey
        OCTET STRING,
    rsOspfVirtIfMd5AuthKeyId
        Integer32
    }

rsOspfVirtIfMd5AuthKey OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The md5 authentication key. When setting this object, the
        rsOspfVirtIfMd5AuthKeyId must be specified on the same pdu.
        For simple text authentication type, use ospfVirtIfAuthKey.
        Setting this object will have the side effect of adding or
        updating the correspondent entry in rsOspfMd5IntfKeyTable.
        If key given has less than 16 octets, such value will be 
        appended with zeros to complete 16 octets. The zeros will
        appended to the right of the given key. Reading this object
        always results in an OCTET STRING of length zero."
    ::= { rsOspfVirtIfEntry 1 }

rsOspfVirtIfMd5AuthKeyId OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The md5 authentication key id. When setting this object,
        rsOspfVirtIfMd5AuthKey must be specified on the same psu."
    ::= { rsOspfVirtIfEntry 2 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OSPF Neighbor attributes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--
--  OSPF Neighbor Table
--

rsOspfNbrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsOspfNbrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Redstone OSPF Neighbor Table describes the
        OSPF-specific characteristics of neighbors."
    ::= { rsOspfObjects 10 }

rsOspfNbrEntry OBJECT-TYPE
    SYNTAX      RsOspfNbrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The OSPF Neighbor Entry describes OSPF-specific
        characteristics of one neighbor."
    AUGMENTS { ospfNbrEntry }
    ::= { rsOspfNbrTable 1 }

RsOspfNbrEntry ::= SEQUENCE {
    rsOspfNbrLocalIpAddr
        IpAddress,
    rsOspfNbrDR
        IpAddress,
    rsOspfNbrBDR
        IpAddress
    }

rsOspfNbrLocalIpAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The local Ip Address on this ospf circuit."
    ::= { rsOspfNbrEntry 1 }

rsOspfNbrDR OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The neighbor's idea of designated router."
    ::= { rsOspfNbrEntry 2 }

rsOspfNbrBDR OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The neighbor's idea of backup designated router."
    ::= { rsOspfNbrEntry 3 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OSPF Summary Import attributes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--
--  OSPF Summary Import Table
--

rsOspfSummImportTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsOspfSummImportEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Redstone OSPF Summary Import Table describes the
        OSPF-specific characteristics of network aggregation into
        the ospf autonomous system. With this table, the load of
        advertising many external routes can be reduced by
        specifying a range which includes some or all of the
        external routes."
    ::= { rsOspfObjects 15 }

rsOspfSummImportEntry OBJECT-TYPE
    SYNTAX      RsOspfSummImportEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The OSPF Summary Import Entry describes OSPF-specific
        characteristics of one summary report."
    INDEX { rsOspfSummAggNet, rsOspfSummAggMask }
    ::= { rsOspfSummImportTable 1 }

RsOspfSummImportEntry ::= SEQUENCE {
    rsOspfSummAggNet
        IpAddress,
    rsOspfSummAggMask
        IpAddress,
    rsOspfSummAdminStat
        INTEGER,
    rsOspfSummRowStatus
        RowStatus
    }

rsOspfSummAggNet OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
        "The summary address for a range of addresses."
    ::= { rsOspfSummImportEntry 1 }

rsOspfSummAggMask OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
        "The subnet mask used for the summary route."
    ::= { rsOspfSummImportEntry 2 }

rsOspfSummAdminStat OBJECT-TYPE
    SYNTAX   INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "The admin status of this summary aggregation."
    ::= { rsOspfSummImportEntry 3 }

rsOspfSummRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "This variable displays the status of the entry."
    ::= { rsOspfSummImportEntry 4 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OSPF Interface Md5 Key attributes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--
--  OSPF Interface Md5 Key Table
--

rsOspfMd5IntfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsOspfMd5IntfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Redstone OSPF Interface Md5 Key Table describes
        OSPF-specific characteristics of the md5 authentication
        key for the ospf interfaces. This table is not to be
        used for the simple password authentication."
    ::= { rsOspfObjects 16 }

rsOspfMd5IntfEntry OBJECT-TYPE
    SYNTAX      RsOspfMd5IntfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The OSPF Interface Md5 Key entry describes OSPF-specific
        characteristics of one md5 authentication's interface."
    INDEX { ospfIfIpAddress, ospfAddressLessIf, rsOspfMd5IntfKeyId }
    ::= { rsOspfMd5IntfTable 1 }

RsOspfMd5IntfEntry ::= SEQUENCE {
    rsOspfMd5IntfKeyId
        Integer32,
    rsOspfMd5IntfKeyActive
        TruthValue,
    rsOspfMd5IntfAuthKey
        OCTET STRING,
    rsOspfMd5IntfRowStatus
        RowStatus
    }

rsOspfMd5IntfKeyId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ospf interface this key belongs to."
    ::= { rsOspfMd5IntfEntry 1 }

rsOspfMd5IntfKeyActive OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Set this object to true(1) in order to have this
        key active."
    ::= { rsOspfMd5IntfEntry 2 }

rsOspfMd5IntfAuthKey OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The md5 authentication key. If key given has less than 16
        octets, such value will be appended with zeros to complete
        16 octets. The zeros will appended to the right of the
        given key. Reading this object always results in an OCTET
        STRING of length zero."
    ::= { rsOspfMd5IntfEntry 3 }

rsOspfMd5IntfRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This variable displays the status of the entry."
    ::= { rsOspfMd5IntfEntry 4 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OSPF Vitural Interface Md5 Key attributes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--
--  OSPF Virual Interface Md5 Key Table
--

rsOspfMd5VirtIntfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsOspfMd5VirtIntfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Redstone OSPF Interface Md5 Key Table describes
        OSPF-specific characteristics of the md5 authentication
        key for the ospf interfaces. This table is not to be
        used for the simple password authentication."
    ::= { rsOspfObjects 17 }

rsOspfMd5VirtIntfEntry OBJECT-TYPE
    SYNTAX      RsOspfMd5VirtIntfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The OSPF Interface Md5 Key entry describes OSPF-specific
        characteristics of one md5 authentication's interface."
    INDEX { rsOspfMd5VirtIntfAreaId, rsOspfMd5VirtIntfNeighbor, rsOspfMd5VirtIntfKeyId }
    ::= { rsOspfMd5VirtIntfTable 1 }

RsOspfMd5VirtIntfEntry ::= SEQUENCE {
    rsOspfMd5VirtIntfAreaId
        IpAddress,
    rsOspfMd5VirtIntfNeighbor
        IpAddress,
    rsOspfMd5VirtIntfKeyId
        Integer32,
    rsOspfMd5VirtIntfKeyActive
        TruthValue,
    rsOspfMd5VirtIntfAuthKey
        OCTET STRING,
    rsOspfMd5VirtIntfRowStatus
        RowStatus
    }

rsOspfMd5VirtIntfAreaId OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ospf areaid this key belongs to."
    ::= { rsOspfMd5VirtIntfEntry 1 }

rsOspfMd5VirtIntfNeighbor OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ospf neightbor this key belongs to."
    ::= { rsOspfMd5VirtIntfEntry 2 }

rsOspfMd5VirtIntfKeyId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ospf virtual interface this key belongs to."
    ::= { rsOspfMd5VirtIntfEntry 3 }

rsOspfMd5VirtIntfKeyActive OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Set this object to true(1) in order to have this
        key active."
    ::= { rsOspfMd5VirtIntfEntry 4 }

rsOspfMd5VirtIntfAuthKey OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The md5 authentication key. If key given has less than 16
        octets, such value will be appended with zeros to complete
        16 octets. The zeros will appended to the right of the
        given key. Reading this object always results in an OCTET
        STRING of length zero."
    ::= { rsOspfMd5VirtIntfEntry 5 }

rsOspfMd5VirtIntfRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This variable displays the status of the entry."
    ::= { rsOspfMd5VirtIntfEntry 6 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- OSPF Network Range attributes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--
--  OSPF Network Range Table
--

rsOspfNetworkRangeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsOspfNetworkRangeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Redstone OSPF Network Range Table describes the
        OSPF-specific characteristics of network ranges, encompassing one
        or multiple ospf interfaces."
    ::= { rsOspfObjects 18 }

rsOspfNetworkRangeEntry OBJECT-TYPE
    SYNTAX      RsOspfNetworkRangeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Redstone OSPF Network Range Entry describes OSPF-specific
        characteristics of one ospf network range."
    INDEX { rsOspfNetRangeNet, rsOspfNetRangeMask, rsOspfNetRangeAreaId }
    ::= { rsOspfNetworkRangeTable 1 }

RsOspfNetworkRangeEntry ::= SEQUENCE {
    rsOspfNetRangeNet
        IpAddress,
    rsOspfNetRangeMask
        IpAddress,
    rsOspfNetRangeAreaId
        IpAddress,
    rsOspfNetRangeRowStatus
        RowStatus
    }

rsOspfNetRangeNet OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
        "The network range address."
    ::= {rsOspfNetworkRangeEntry  1 }

rsOspfNetRangeMask OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
        "The subnet mask used for the network range. Unlike the mask used under
        the command line interface (CLI), this object is set in the non-inversed
        format (i.e. not a wild-card mask)."
    ::= {rsOspfNetworkRangeEntry  2 }

rsOspfNetRangeAreaId OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
        "The ospf areaid this network range belongs to."
    ::= { rsOspfNetworkRangeEntry 3 }

rsOspfNetRangeRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "This variable displays the status of the entry."
    ::= { rsOspfNetworkRangeEntry 4 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notification control 
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholders follow.

--rsOspfTrapEnables OBJECT IDENTIFIER ::= { rsOspfMIB 2 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notifications
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholders follow.

-- The following two OBJECT IDENTIFIERS are used to define SNMPv2 
-- Notifications that are easily translated into SNMPv1 Traps.

-- rsOspfTraps       OBJECT IDENTIFIER ::= { rsOspfMIB 19 }
-- rsOspfTrapPrefix  OBJECT IDENTIFIER ::= { rsOspfTraps 0 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Conformance information
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsOspfConformance     OBJECT IDENTIFIER ::= { rsOspfMIB 4 }
rsOspfCompliances     OBJECT IDENTIFIER ::= { rsOspfConformance 1 }
rsOspfGroups          OBJECT IDENTIFIER ::= { rsOspfConformance 2 }

-- compliance statements

rsOspfCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for entities which implement
        the Redstone OSPF MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { rsOspfBasicGroup, rsOspfIfGroup }
    ::= { rsOspfCompliances 1 }

-- units of conformance

rsOspfBasicGroup OBJECT-GROUP
    OBJECTS {
        rsOspfProcessId,
        rsOspfMaxPathSplits,
        rsOspfSpfHoldInterval
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for managing general OSPF
        capabilities in a Redstone product."
    ::= { rsOspfGroups 1 }

rsOspfIfGroup OBJECT-GROUP
    OBJECTS {
        rsOspfIfCost
    }
    STATUS  current
    DESCRIPTION
        "A collection of objects for managing OSPF Interface
        capabilities in a Redstone product."
    ::= { rsOspfGroups 2 }

END